Research Article

A Tabu Search-Based Memetic Algorithm for Hardware/Software Partitioning

Algorithm 2

General structure of TSMA.
Require: A directed acyclic graph;
Ensure: Approximate global maximal solution ;
(1)    Initial , .
(2)    Generate randomly a population .
(3)    for     do
(4)    Use the local search procedure (see Section 4.3) to minimize problem from
      every individual , also denote the obtained solution by .
(5)     if     then
(6)      Let , and .
(7)     end if
(8)    end for
(9)    while termination criteria (see Section 4.6) do not meet do
(10)   Use the crossover operator (see Section 4.2) to generate a new offspring , and
   apply the local search procedure to refine , also denote it by .
(11)   if     then
(12)    Let , and .
(13)   end if
(14)   if   then  
(15)        .
(16)   else
(17)    Use the path relinking procedure PR (see Section 4.4) to the solution
        and the current best solution to obtain a solution .
(18)   end if
(19)   if     then
(20)    Let , and .
(21)   end if
(22)  Use the population updating method (see Section 4.5) to update the population that is
   to decide if .
(23) end while
(24) return   and as an approximate discrete global minimizer and global minimal
 value of problem , respectively.