Research Article

Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning

Algorithm 1

Pseudocode of the Fiduccia-Mattheyses iterative method. Note that the details of the above module selection and module update for each gain bucket management are given in Algorithms 2 and 3.
, randomly chosen subsets such that and ;
repeat
 compute gain for each module ;
; // for maintaining locked modules
for   to
  if   then
   choose module such that is maximal; // module selection
  else if   then
   choose module such that is maximal; // module selection
  else
   choose module such that is maximal; // module selection
  ;
  for each module adjacent to module
   adjust gain if it is affected by moving module ; // module update
  choose to maximize ;
  move all modules in the subset to their opposite sides; // updating ,
until there is no reduction in cut size;
return the partition , ;